package main

import (
	"errors"
	"fmt"
	"time"
)

func test() {
	//go错误处理机制
	//defer+recover处理
	defer func() {
		err := recover()
		if err != nil {
			fmt.Println("err=", err)
		}
	}()
	num1 := 10
	num2 := 0
	res := num1 / num2
	fmt.Println("res=", res)
}

//自定义错误
func readConf(name string) (err error) {
	if name == "config.ini" {
		//读取
		return nil
	} else {
		//返回自定义错误
		return errors.New("读取文件错误....")
	}
}
func test02() {
	err := readConf("config2.ini")
	if err != nil {
		//如果读取文件错误,就输出这个错误并输出
		panic(err)
	}
	fmt.Println("后面代码执行")
}
func main() {
	test02()
	fmt.Println("接下来的代码")
	for i := 0; i < 10; i++ {
		time.Sleep(time.Second)
		fmt.Println("接下来的代码")
	}
}
